package com.tcy.bigevent.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

import java.time.LocalDateTime;
/**
 * 用户实体类
 */
//lombok 在编译阶段，为实体类自动生成setter getter toString
//pom文件中引入依赖 在实体类上添加注解
@Data
public class User {
    @NotNull
    private Integer id;                 // 用户ID
    private String username;           // 用户名
    @JsonIgnore //让Springmvc忽略此字段，不返回给前端
    private String password;           // 密码

    @NotEmpty
    @Pattern(regexp = "^\\S{1,10}$")
    private String nickname;           // 昵称

    @NotEmpty
    @Email
    private String email;              // 邮箱
    private String userPic;             // 用户头像URL
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;  // 创建时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;  // 更新时间
}